//定义父类
function SuperType(){
    this.prop  = true;
}

SuperType.prototype.getProp = function(){
    return this.prop;
}

var s1 = new SuperType();
alert(s1.getProp());//true

//定义子类
function SubType(){
    this.subProp = false;
}

//将子类的prototype指向父类实例[继承]
SubType.prototype = new SuperType();

var s2 = new SubType();
alert(s2.getProp());//调用父类的方法

//重写父类中的方法
SubType.prototype.getProp = function(){
    return false;
}
  
alert(s2.getProp());//false[此处调用的是子类重写后的getProp方法]


//原型方式实现继承的缺陷:父类中的引用类型共享问题
function Super(){
    this.colors = ["red", "blue"];
}

function Sub(){
    
}

Sub.prototype = new Super();
Sub.prototype.show = function(){
    alert(this.colors);
}

var sc1 = new Sub();
var sc2 = new Sub();
sc1.colors.push("black");//sc1添加一种颜色
alert(sc1.colors);
alert(sc2.colors);//sc2对象也出现了black